// miniprogram/pages/index/index.js
const db =wx.cloud.database();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgUrls:['https://images.unsplash.com/photo-1551334787-21e6bd3ab135?w=640',
    'https://images.unsplash.com/photo-1551334787-21e6bd3ab135?w=640',
    'https://images.unsplash.com/photo-1551334787-21e6bd3ab135?w=640'],
    listData:[],
    current:'links'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
   this.getListData();
   this.getBannerList();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  // 实现点赞功能
  handleLinks(ev){
  //  拿到用户ID  确定那个用户
    let id=ev.target.dataset.id;
    // 调用回调函数
    wx.cloud.callFunction({
      name:'update',
      data:{
        collection:'users',
        doc:id,
        data:"{links:_.inc(1)}"  //要想在服务端解析 不能穿对象过去  需要字符串
      }
    }).then((res)=>{
      console.log(res);
     let updated= res.result.stats.updated;
     console.log(updated);
      if(updated==1){
        // 避免操作原数组 克隆一个数组 进行操作
       let cloneListData=[...this.data.listData];
        for(let i=0;i<cloneListData.length;i++){
          if(cloneListData[i]._id==id ){
            cloneListData[i].links++;
         }
        }
         this.setData({
           listData:cloneListData
        });
      }
    });

  },
  handleCurrent(ev){
    console.log(ev);
    let current=ev.target.dataset.current;
    if(current==this.data.current){
      return false;
    }
    this.setData({
      current
    });
    this.getListData();
  },
  getListData(){
    db.collection('users') 
    .field({
      userPhoto:true,
      nickName:true,
      links:true
    })
    .orderBy(this.data.current,"desc")
    .get()
    .then(res=>{
      this.setData({
      listData:res.data
    });
    });
  },
  handleDetail(ev){
    console.log(ev);
    let id=ev.target.dataset.id;
    wx.navigateTo({
      url: '/pages/detail/detail?userId='+id,
    })
  },
  // 动态添加 轮播图   需要后台cms系统配合   没做
  getBannerList(){
    db.collection('banner').get().then(res=>{
      console.log(res.data);
      this.setData({
        imgUrls:res.data
      })
    });
    // 需要 把这个拿到的放到wxml image   src{{item.fileId}}
  }
})